<?php

define('URL', 'localhost');
define('USER', 'postgres');
define('PASSWORD', '');
define('DATABASE', 'FluxoFacil');

DAO::setConfig(URL, USER, PASSWORD, DATABASE);

cabecalho("Instalador",true);


if (is_file(BANCO_FLUXO)){//se arquivo existe
    echo "<h2>O banco de dados já se encontra criado!</h2>";
    //echo "<p><a href='install.php?force=1'>Excluir banco de dados e instalar</a></p>";
} else {
    $conexao=$bdFluxo->conectar(BANCO_FLUXO);
}


	//caso o banco já esteja criado o @ oculta o erro
if (@$conexao) {
    $sqls = array(
        "CREATE TABLE usuario(
            idusuario serial NOT NULL,
            nome character varying(15),
            sobrenome character varying(45),
            email character varying(30),
            senha character varying(20),
            foto character varying(45),
            ativo boolean,
            CONSTRAINT usuario_pkey PRIMARY KEY (idusuario)
        )",
        "CREATE TABLE fluxograma(
            idfluxograma serial NOT NULL,
            nome character varying(30),
            visualizacoes integer,
            comentarios integer,
            descricao character varying(100),
            execucao integer,
            dtcriacao timestamp without time zone,
            ativo boolean,
            idusuario integer,
            CONSTRAINT fluxograma_pkey PRIMARY KEY (idfluxograma),
            CONSTRAINT fluxograma_idusuario_fkey FOREIGN KEY (idusuario)
            REFERENCES usuario (idusuario)
        )",
        "CREATE TABLE elemento(
            idelemento serial NOT NULL,
            posicaoy real,
            posicaox real,
            largura real,
            altura real,
            texto character varying,
            ativo boolean,
            idfluxograma integer,
            CONSTRAINT elemento_pkey PRIMARY KEY (idelemento),
            CONSTRAINT elemento_idfluxograma_fkey FOREIGN KEY (idfluxograma)
            REFERENCES fluxograma (idfluxograma)
        )",
        "CREATE TABLE forma(
            idforma serial NOT NULL,
            nome character varying,
            parametro character varying(20),
            imagem character varying,
            ativo boolean,
            idelemento integer,
            CONSTRAINT forma_pkey PRIMARY KEY (idforma),
            CONSTRAINT forma_idelemento_fkey FOREIGN KEY (idelemento)
            REFERENCES elemento (idelemento) 
        )",
        "CREATE TABLE ordem(
            idordem serial NOT NULL,
            idelemento integer,
            idfilho integer,
            CONSTRAINT ordem_pkey PRIMARY KEY (idordem),
            CONSTRAINT ordem_idelemento_fkey FOREIGN KEY (idelemento)
            REFERENCES elemento (idelemento),
            CONSTRAINT ordem_idfilho_fkey FOREIGN KEY (idfilho)
            REFERENCES elemento (idelemento)
        )",
        "CREATE TABLE comentario(
            idcomentario serial NOT NULL,
            comentario character varying(255),
            dtcomentario timestamp without time zone,
            ativo boolean,
            idfluxograma integer,
            idusuario integer,
            CONSTRAINT comentario_pkey PRIMARY KEY (idcomentario),
            CONSTRAINT comentario_idfluxograma_fkey FOREIGN KEY (idfluxograma)
            REFERENCES fluxograma (idfluxograma),
            CONSTRAINT comentario_idusuario_fkey FOREIGN KEY (idusuario)
            REFERENCES usuario (idusuario)
        )"
    );
	
    //faz as instruções de criação de tabela
    foreach($sqls as $sql){
        $bdFluxo->inserir($sql);
    }

}
	echo "<h2 class='titulo titulo2'>Banco de Dados criado com sucesso!</h2>";
	//echo "<a class='formatLabel' href='inicio.php'"
	

rodape();

